package com.ruicar.afs.cloud.risk.tortoise.dto.notice.data;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.ruicar.afs.cloud.common.core.enums.AfsEnumDeserializer;
import com.ruicar.afs.cloud.common.core.enums.AfsEnumSerializer;
import com.ruicar.afs.cloud.risk.api.enums.tortoise.GwtTortoiseDecisionResult;
import com.ruicar.afs.cloud.risk.api.enums.tortoise.GwtTortoiseExceptPledge;
import lombok.Data;

/**
 * Description 决策引擎手工调用
 * Author Peng Jinbo
 * Date 2020/07/21 17:29
 */
@Data
public class GwtTortoiseHandDecisionNotice {

    /**
     * Decision engine result
     * 自动审批结果，决策引擎返回字段
     * 1，建议核准；2，建议附条件核准；3建议拒绝；4，建议人工审核；5，建议免电核；6，建议简易电核
     */
    @JSONField(name = "decisionEngineResult",serializeUsing = AfsEnumSerializer.class, deserializeUsing = AfsEnumDeserializer.class)
    @JsonProperty("decisionEngineResult")
    @JsonSerialize(using = AfsEnumSerializer.class)
    @JsonDeserialize(using = AfsEnumDeserializer.class)
    private GwtTortoiseDecisionResult decisionEngineResult;

    /**
     * Decision engine pledge flag
     * 是否免抵押，决策引擎返回字段，1，是；2，否
     */
    @JSONField(name = "decisionEnginepledgeFlag",serializeUsing = AfsEnumSerializer.class, deserializeUsing = AfsEnumDeserializer.class)
    @JsonProperty("decisionEnginepledgeFlag")
    @JsonSerialize(using = AfsEnumSerializer.class)
    @JsonDeserialize(using = AfsEnumDeserializer.class)
    private GwtTortoiseExceptPledge decisionEnginePledgeFlag;

    /**
     * Decision engine score
     * 评分，决策引擎返回
     */
    @JSONField(name = "decisionEngineScore")
    @JsonProperty("decisionEngineScore")
    private String decisionEngineScore;

    /**
     * Decision engine score display
     * 评分展示，决策引擎返回字段，用于分单，目前只保留E级
     */
    @JSONField(name = "decisionEngineScoreDisplay")
    @JsonProperty("decisionEngineScoreDisplay")
    private String decisionEngineScoreDisplay;

    /**
     * Exposure money
     * 风险金额(贷款金额（含历史）- 本订单贷款金额)
     */
    @JSONField(name = "exposureMoney")
    @JsonProperty("exposureMoney")
    private String exposureMoney;

    /**
     * Loan money history
     * 贷款金额（含历史）（本订单贷款金额+历史未结清金额）
     */
    @JSONField(name = "loanMoneyHistory")
    @JsonProperty("loanMoneyHistory")
    private String loanMoneyHistory;

}
